/********************************************
 * 功能说明: 
 * 模块名称: 
 * 系统名称: 
 * 软件版权: 西安华信智慧数字科技有限公司
 * 系统版本: 1.0.0
 * 开发人员: zhangfb
 * 开发时间: 2020/3/1 19:38
 * 审核人员: 
 * 相关文档: 
 * 修改记录: 修改日期 修改人员 修改说明
 *********************************************/
package com.hyacinth.cloudnote.modules.common.errorcode;

import com.hyacinth.cloudnote.common.exception.IErrorCode;

/**
 * 错误码
 *
 * @author zhangfb
 * @version 1.0.0.1
 * @since 2020/3/1 19:38
 */
public enum NoteErrorCode implements IErrorCode {

    /**************通用模块*************/
    E1000000001(1000000001, "[%s]不存在"),
    E1000000002(1000000002, "参数[%s]不能为空"),
    E1000000003(1000000003, "用户[%s]已存在"),
    E1000000004(1000000004, "该数据不存在或已删除"),

    /**************标签*************/
    E1000001001(1000001001, "标签[%s]已存在"),

    /**************笔记本*************/
    E1000002001(1000002001, "笔记本[%s]已存在"),

    /**************收藏夹*************/
    E1000005001(1000005001, "用户[%s]已收藏[%s]"),
    ;

    private int code;
    private String msg;

    /**
     * Msg string.
     *
     * @return the string
     */
    @Override
    public String msg() {
        return msg;
    }

    /**
     * Code int.
     *
     * @return the int
     */
    @Override
    public int code() {
        return code;
    }

    NoteErrorCode(int code, String msg) {
        this.code = code;
        this.msg = msg;
    }

    /**
     * 根据错误码获取错误信息
     * @param code 错误码
     * @return 错误信息
     */
    public static String getMsg(int code) {
        NoteErrorCode[] values = NoteErrorCode.values();
        for (int i = 0; i < values.length; i++) {
            if (code == values[i].code) {
                return values[i].msg;
            }
        }
        return null;
    }
}
